package com.shrct.businessprocess.budget;

import com.shrct.businessprocess.budget.RCBudget;
import com.shrct.businessprocess.budget.RCCost4RemainItem;
import com.shrct.businessprocess.budget.impl.RCF2BudgetImpl;
import com.shrct.businessprocess.budget.proxy.RCF2BudgetProxy;
import com.shrct.businessprocess.project.RCProjectMoney;
import edu.fudan.mylang.pf.EntityImplementation;

@EntityImplementation(implementBy = RCF2BudgetImpl.class)
public interface RCF2Budget extends RCBudget {
  public abstract RCProjectMoney getContractPrice();
  
  public abstract Double getContractTaxRate();
  
  public abstract Double getNetTaxRate();
  
  public abstract RCProjectMoney getNetPrice();
  
  public abstract RCProjectMoney getInvoiceTax();
  
  public abstract RCProjectMoney getExpectedCostAmount(final Double percent);
  
  public abstract Boolean seemsFinished();
  
  public abstract Iterable<RCCost4RemainItem> getRCCost4RemainItems();
  
  public abstract String getTypeId();
  
  public abstract RCF2BudgetProxy toProxy();
}
